package com.lyc.platform.message.core.json;

import cn.hutool.core.bean.BeanUtil;
import cn.hutool.json.JSONObject;

/**
 * json 序列化
 *
 * @author liangyucheng
 */
public interface Jsonable {

    /**
     * 将本身对象序列化
     *
     * @return 序列化后的json
     */
    default JSONObject toJson() {
        return new JSONObject(this);
    }

    /**
     * 从json中设置bean的值
     *
     * @param json json对象
     */
    default void fromJson(JSONObject json) {
        BeanUtil.copyProperties(json, this, false);
    }


}
